﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace FoundationLib.Ifc.Data
{
	/// <summary>
	/// This interface is to be implemented by data access objects implementing
	/// write access to the data source.
	/// </summary>
	/// <typeparam name="TObj">The type of the domain object</typeparam>
	public interface IWritable<TObj> where TObj : class
	{
		/// <summary>
		/// Inserts or updates the domain object instances in the data source.
		/// </summary>
		/// <param name="instance">The domain object instance to be saved</param>
		void Save(TObj instance);
	}
}
